]> dgit.raspbian.org Git - gnome-shell.git/commit
main: use SA_NODEFER to track signals to being able to raise from alarm
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Tue, 24 Oct 2017 05:28:33 +0000 (00:28 -0500)
committerMarco Trevisan (Treviño) <mail@3v1n0.net>
Tue, 24 Oct 2017 06:18:45 +0000 (14:18 +0800)
commit891bc45e360b70bffbd081d7c992d73647ac5259
tree63087453bff2a891d7137fa03ce9893894f95d6c
parentf90b225eaa99423b39d00a7fe49864e1815de90d
main: use SA_NODEFER to track signals to being able to raise from alarm

After we receive one of the tracked signals, in case we get stuck inside
the gjs_dumpstack () call, we use an alarm to raise the previously emitted
signal, however without using SA_NODEFER, the raise inside the alarm handler
will be ignored.

To avoid to handle new signals caused by the handler calls, once we get the
first signal, we just ignore them all as they could only lead to dirty traces.

Also, cleaning up a bit the code, and disabling the shell log handler
in dump_gjs_stack_alarm_sigaction since this might lead to a new
gjs_dumpstack () request.

https://bugzilla.gnome.org/show_bug.cgi?id=789237
src/main.c